InBox AsanaIntegration
Versão 6.4.0
Data de Criação 20/05/2019
Recursos
Este módulo permite a integração entre o Asana e o software OTRS.
Pré-requisitos
Framework
As seguintes versões de framework OTRS são suportadas:
- [6.0.x]
Módulos
Os seguintes módulos são requeridos:
- InBox Core 6.7.1 ou superior
Sistema Operacional
Os seguintes sistemas operacionais são requeridos:
- [Nenhum]
Software de Terceiros
Os seguintes softwares de terceiros são requeridos:
- [Nenhum]
Instalação
bin/otrs.Console.pl Admin::Package::Install /path/to/InBox\ AsanaIntegration 6.0.0.opm
Configuração
Este módulo pode ser configurado via Configuração do Sistema na interface administrativa. As seguintes opções de configurações estão disponíveis:
AsanaIntegration::Core::EndPoint
Configura a URL de acesso à API do Asana.
Para isso, basta definir no campo indicado a URL. Valor padrão: https://app.asana.com/api/1.0.
AsanaIntegration::Core::AccessToken
Essa configuração define o token de acesso de cada atendente para que a integração seja realizada.
AsanaIntegration::Core::NewTicket
Essa configuração define os parâmetros para a criação do chamado quando uma tarefa é criada no Asana.
AsanaIntegration::Core::NewTicketSetQueue
Essa configuração define a fila em que serão criados os chamados de acordo com o projeto da tarefa no Asana.
Para isso, adicione na chave o nome do projeto Asana e no valor o nome da fila desejada:
AsanaIntegration::Core::ConfigTicketClose
Essa configuração define os estados de fechamento do chamado
AsanaIntegration::Core::ArticleIsVisibleForCustomer
Essa configuração define se a descrição vinda do Asana será visível ou não para o cliente.
Daemon::SchedulerCronTaskManager::Task###GetAsanaUsers
Essa configuração define a Cron para atualização dos colaboradores Asana de 12 em 12 horas.
AsanaIntegration::Core::WorkspaceID
Essa configuração define o espaço de trabalho do atendente, para que a atualização de colaboradores seja realizada.
Uso
Configurando o módulo
Para utilizar este módulo, você deve primeiramente deve criar um token de acesso no seu ambiente Asana.
Para criá-lo, siga os passos "Tokens de acesso pessoal" em :
https://asana.com/pt/guide/help/api/api
Importante: Guarde esse token com cautela.
Então, acesse a configuração 'AsanaIntegration::Core::AccessToken' e o adicione.
Espaço de trabalho: Para obter o id do seu espaço de trabalho, faça login no Asana e acesse a URL: https://app.asana.com/api/1.0/workspaces no seu navegador.
Acesse também a configuração 'AsanaIntegration::Core::WorkspaceID' e adicione o id do seu espaço de trabalho.
Salve as alterações e implemente as configurações.
Antes dos próximos passos, é importante configurar CustomerUser e CustomerID na configuração: AsanaIntegration::Core::NewTicket
Um campo dinâmico de nome "AsanaTask" deve estar criado no seu ambiente, mas caso não esteja, acesse as configurações de campos dinâmicos e crie da seguinte forma:
O campo "Mostrar link" pode ser configurado depois. O número indicado após o 0/ é o id do Projeto, você pode obtê-lo nos passos a seguir.
Exemplo: https://app.asana.com/0/ID_Projeto/[% Data.AsanaTask| uri %]
O campo dinâmico de nome 'AsanaFollowers' também deve estar criado no ambiente, caso não esteja, crie como o demonstrado abaixo:
Criação de Campo customizado
Iremos criar um Campo customizado para associar os chamados às tarefas Asana. Para isso, devemos ter em mãos:
Nome do campo: TicketID
Tipo: Text
Espaço de trabalho: Para obter o id do seu espaço de trabalho, faça login no Asana e acesse a URL: https://app.asana.com/api/1.0/workspaces no seu navegador.
Descrição: Campo para receber o ID do chamado do OTRS
Com as informações em mãos, executaremos os seguintes comandos:
cd /opt/otrs
perl bin/create_customfield.pl -n TicketID -t text -d TicketID -w id_do_seu_espaço_de_trabalho -pid id_do_projeto
Você deve receber uma mensagem no log informando que o campo foi criado.
Criação de WebHook
Iremos criar um WebHook para receber os eventos do Asana. Assim, sempre que uma tarefa for aberta, um chamado será aberto no OTRS. E sempre que uma tarefa for finalizada, o chamado relacionado a essa tarefa será fechado no OTRS.
Para isso, devemos ter em mãos:
- ID do seu Projeto Asana
O ID do projeto pode ser acessado da seguinte forma:
Entre no seu ambiente Asana e selecione o projeto em questão. Na URL, a sequência de caracteres após o 0/ é O ID do seu projeto, como mostrado na imagem abaixo:
Com o ID do projeto em mãos, executaremos os seguintes comandos:
cd /opt/otrs
perl bin/create_webhook.pl -pid id_do_projeto -t https://seuaAmbiente.com.br/otrs/api/v1/receive_hooks.pl
Você deve receber uma mensagem no log informando que o WebHook foi criado.
Atualização de Lista de colaboradores Asana
Obs: Essa configuração deve ser realizada assim que o módulo for instalado.
Iremos atualizar nossa lista de colaboradores do Asana. Para isso, certifique-se de que os campos dinâmicos 'AsanaAssignee'e 'AsanaTask' estejam criados. Caso não estejam, crie seguindo as configurações abaixo:
AsanaTask:
AsanaAssignee:
Agora, executaremos o script de atualização.
Com as configurações AsanaIntegration::Core::AccessToken e AsanaIntegration::Core::WorkspaceID configuradas corretamente, executaremos os comandos:
cd /opt/otrs
su otrs
/opt/otrs/bin/otrs.Console.pl Maint::Ticket::GetAsanaUsers
Você deve receber uma mensagem no log informando que a lista de usuário foi atualizada.
Atendente Genérico
Realizando a criação de tarefas no Asana quando um chamado é movido para a Fila X.
Para isso, acesse o menu Administrativo e vá na opção "Atendente Genérico".
Dê um nome ao atendente e realize as configurações:
Execução Baseada em Evento: TicketQueueUpdate
Selecionar chamados - Fila: X
- Executar Módulo personalizado:
Parâmetros obrigatórios
Módulo: Kernel::System::GenericAgent::AsanaIntegration::CreateTask
Workspace: Para obter o nome do seu espaço de trabalho, faça login no Asana e acesse a URL: https://app.asana.com/api/1.0/workspaces no seu navegador.
Project: Nome do projeto Asana
SectionName: Nome da sessão no Asana em que a tarefa será criada.
Salve as alterações e implemente as configurações.
Finalizando uma tarefa no Asana quando um chamado é fechado.
Acesse o menu Administrativo e vá na opção "Atendente Genérico". Dê um nome ao atendente e realize as configurações:
Execução Baseada em Evento: TicketStateUpdate
Selecionar chamados - Estado: X
Executar Módulo personalizado:
Parâmetros obrigatórios
Módulo: Kernel::System::GenericAgent::AsanaIntegration::FinishTask
Salve as alterações e implemente as configurações.
Atribuindo a tarefa a um colaborador Asana.
Devemos adicionar o campo dinâmico 'AsanaAssignee' em alguma tela relacionada ao chamado. Como exemplo, será adicionado na AgentTicketNote.
Acesse o menu Administrativo e vá em Configuração do Sistema. Pesquise por 'Ticket::Frontend::AgentTicketNote###DynamicField' adicione o campo na configuração, salve e implemente as alterações.
Agora, vá ao menu Administrativo e acesse a opção "Atendente Genérico".
Dê um nome ao atendente e realize as configurações:
Execução Baseada em Evento: TicketDynamicFieldUpdate_AsanaAssignee
Executar Módulo personalizado:
Parâmetros obrigatórios
Módulo: Kernel::System::GenericAgent::AsanaIntegration::AssignTask
Assim, quando o campo dinâmico 'AsanaAssignee' for atualizado, a tarefa asana será atribuída ao usuário escolhido.
Salve as alterações e implemente as configurações.
Atribuindo a tarefa a seguidores no Asana.
Devemos adicionar o campo dinâmico 'AsanaFollowers' em alguma tela relacionada ao chamado. Como exemplo, será adicionado na AgentFreeText.
Acesse o menu Administrativo e vá em Configuração do Sistema. Pesquise por 'Ticket::Frontend::AgentFreeText###DynamicField' adicione o campo na configuração, salve e implemente as alterações.
Agora, vá ao menu Administrativo e acesse a opção "Atendente Genérico".
Dê um nome ao atendente e realize as configurações:
Execução Baseada em Evento: TicketDynamicFieldUpdate_AsanaFollowers
Executar Módulo personalizado:
Parâmetros obrigatórios
Kernel::System::GenericAgent::AsanaIntegration::TaskFollowers
Assim, quando o campo dinâmico 'AsanaFollowers' for atualizado, a tarefa asana terá os usuários selecionados nele como seguidos da tarefa.
Salve as alterações e implemente as configurações.
Verificar no OTRS quem abriu a tarefa via Asana.
Para habilitar funcionalidade, é necessário que o campo dinâmico 'AsanaTaskCreator' esteja criado no ambiente. Caso não esteja, crie como o indicado abaixo:
Após isso, adicione esse campo em uma tela de apresentação, como a action AgentTicketZoom. Com isso, quando uma tarefa é aberta pelo Asana é possível verificar o usuário que a abriu, como no exemplo abaixo:
API
Clique aqui para acessar a API do módulo.